package eu.runelord.programmers.t141685;

import java.util.Date;

public class App {

	private static final int ILOSC_PRZEBIEGOW = (int)1E8;

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		App app = new App();
		Date date = new Date();
		for (int i = 0; i < ILOSC_PRZEBIEGOW; i++) {
			try {
				app.odejmijJedenAzBedzieZero(10);
			} catch (WykladowcaToIdiotaException e) {
				//System.out.println("wynik: " + e.wynik);
			}
		}
		Date date2 = new Date();
		Date date3 = new Date();
		for (int i = 0; i < ILOSC_PRZEBIEGOW; i++) {
			app.odejmijJedenAzBedzieZeroBez(10);
		//	System.out.println("wynik: " + );
		}
		Date date4 = new Date();
		System.out.println(date2.getTime() - date.getTime());
		System.out.println(date4.getTime() - date3.getTime());

	}

	public int odejmijJedenAzBedzieZeroBez(int start) {
		if (start == 0)
			return 0;
		else
			return odejmijJedenAzBedzieZeroBez(start - 1);
	}

	public int odejmijJedenAzBedzieZero(int start)
			throws WykladowcaToIdiotaException {
		if (start == 0)
			throw new WykladowcaToIdiotaException(start);
		else
			return odejmijJedenAzBedzieZero(start - 1);
	}
}

class WykladowcaToIdiotaException extends Exception {

	int wynik;

	public WykladowcaToIdiotaException(int wynik) {
		this.wynik = wynik;
	}
}